package com.srx.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.srx.user.entity.UserDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;


/**
 * 用户mapper类
 * <p>定义用户Mapper接口</p>
 * @author 沈汝旭
 * @since 2025-10-18 10:54:05
 * @version 1.0
 */
@Mapper
public interface UserMapper extends BaseMapper<UserDO>
{

	/**
	 * 根据id获取用户密码
	 * @param id 用户id
	 * @return 获取用户密码
	 */
	@Select("""
            select
                password
            from
                zijinyunyou.user
            where
                id = #{id};""")
    String getPasswordById(@Param("id") Long id);

	/**
	 * 根据id修改密码
	 * @param id 用户id
	 * @param password 新密码
	 * @return 修改结果
	 */
	@Update("""
		update
			zijinyunyou.user
		set
			password = #{password}
		where
			id = #{id};""")
    int updatePassword(@Param("id") Long id, @Param("password") String password);

/*
    *//**
     * 获取全部的图书信息
     * @return 获取全部图书信息
     *//*
    List<BookDTO> getAllBook();
    *//**
     * 获取全部 library 通知信息
     * @return 获取全部 library 通知信息
     *//*
    List<NoticeDTO> getAllLibraryNotice();
	*//**
	 * 获取全部 dormitory 通知信息
	 * @return 获取全部 dormitory 通知信息
	 *//*
    List<NoticeDTO> getAllDormitoryNotice();
	*//**
	 * 获取全部 borrowing 信息
	 * @return 获取全部 borrowing 信息
	 *//*
	List<BorrowingDTO> getAllBorrowing();
	*//**
	 * 获取全部 user 信息
	 * @return 获取全部 user 信息
	 *//*
	List<UserDTO> getAllUser();


    *//**
     * 根据ID获取用户基本信息
     * @param id 用户id
     * @return 返回用户对象
     *//*
    UserVO getBasicInfo(@Param("id") int id);
	
    *//**
     * 根据ID获取用户头像信息
     * @param id 用户id
     * @return 获取用户头像对象
     *//*
    Avatar getAvatarById(@Param("id") int id);
	


    *//**
     * 更新用户头像
     * @param userId 用户ID
     * @param avatar 头像字节数组
     * @return 返回更新记录数
     *//*
    int updateAvatar(@Param("userId") int userId, @Param("avatar") byte[] avatar);
	
	*//**
     * 根据ID获取用户姓名
     * @param id 用户id
     * @return 获取用户头像和昵称对象
     *//*
	String getNameById(int id);*/
	
}
